Many electronic devices, such as computers, communicate via network packets. The network packets are usually sent from a source to a destination. During this journey the packet may pass through one or more intermediary recipients before reaching the final recipient, i.e., the destination. Different types of recipients include network processors, network switches, and network interfaces. Each recipient of the packet may need to parse the packet, that is, analyze the data in the packet to determine its characteristics. The characteristics of a network packet may include its source, destination, or type. The recipients utilize parsing mechanisms to perform the parsing. As part of the parsing, the recipient may split the bytes in the packet into its different network protocol layers and fields within those protocols, to enable further processing.
The number and complexity of network protocols are constantly growing. Previous parsing techniques lack the required flexibility and speed to handle this growth. To parse a new or an updated networking protocol, for example, these techniques may require updating their networking hardware or software. Otherwise, the systems may not be able to parse the new or updated protocol or may parse it at lower than desirable speeds.